/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import java.sql.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import negocio.Truco;
import negocio.TrucoSuperado;
import negocio.Usuario;

/**
 *
 * @author JAVA
 */
public class PersistenciaTrucoSuperado {

    public static int guardarTrucoSuperado(Usuario u, TrucoSuperado t) {
        int i = 0;
        try {
            Conexion conexion=new Conexion();
            i = conexion.open().executeUpdate("insert into trucossuperados (id,idtruco,idusuario,valoracion) values (0,"+t.getId()+","+u.getId()+","+t.getValoracion()+")");
            conexion.close();
        } catch (SQLException ex) {
            Logger.getLogger(PersistenciaTabla.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            return i;
        }
    }
    
    public static int actualizarTrucoSuperado(Usuario u, TrucoSuperado t) {
        int i = 0;
        try {
            Conexion conexion=new Conexion();
            i = conexion.open().executeUpdate("update trucossuperados set valoracion="+t.getValoracion()+" where trucossuperados.idtruco="+t.getId()+" and trucossuperados.idusuario="+u.getId()+"");
            conexion.close();
        } catch (SQLException ex) {
            Logger.getLogger(PersistenciaTabla.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            return i;
        }
    }
    
    public static ArrayList<TrucoSuperado> obtenerTrucosSuperados(Usuario u) {
        ArrayList<TrucoSuperado> trucos= new ArrayList<TrucoSuperado>();
        try {
            Conexion conexion=new Conexion();
            ResultSet r=conexion.open().executeQuery("select trucossuperados.enlace, trucossuperados.idtruco, trucossuperados.idusuario, valoracion, trucossuperados.enlace, trucos.id, trucos.nombre, trucos.descripcion,trucos.nivel, trucos.subnivel,trucos.puntos "
                    + "FROM trucossuperados inner join  trucos on trucossuperados.idtruco=trucos.id  where trucos.baja=0 and trucossuperados.idusuario="+u.getId()+"");
            while(r.next()){
                TrucoSuperado t=new TrucoSuperado(r.getInt("idtruco"), r.getString("nombre"), r.getString("nivel"), r.getInt("subnivel"), r.getString("descripcion"), r.getInt("puntos"), r.getFloat("valoracion"),r.getString("enlace"));
                trucos.add(t);
            }
            conexion.close();
        } catch (SQLException ex) {
            Logger.getLogger(PersistenciaTabla.class.getName()).log(Level.SEVERE, null, ex);
        }finally{          
            return trucos;
        }

    }
    
    public static TrucoSuperado obtenerTrucoSuperado(int id){
        TrucoSuperado ts=null;
        try{
            Truco t=PersistenciaTruco.obtenerTruco(id);
            Conexion conexion=new Conexion();
            ResultSet rset=conexion.open().executeQuery("select valoracion, enlace from trucossuperados where trucossuperados.idtruco="+id);
            while(rset.next()){
                ts=new TrucoSuperado(id, t.getNombre(), t.getNivel(), t.getSubnivel(), t.getDescripcion(), t.getPuntos(), rset.getFloat("valoracion"),rset.getString("enlace"));
            }
        }catch (SQLException ex){
            Logger.getLogger(PersistenciaTrucoSuperado.class.getName()).log(Level.SEVERE,null,ex);
        }finally{
            return ts;
        }
    }
    
}
